import { createRouter, createWebHistory } from 'vue-router';

//定义路由规则
const routes = [
  {
    path: '/',          // 初始路径
    name: 'LoginPage',       // 路由名称
    component: ()=>import('../views/Login.vue') // 导入登录组件
  },
  {
    path: '/register',          // 注册页面路径
    name: 'RegisterPage',       // 路由名称
    component: ()=>import('../views/Register.vue') // 导入注册组件
  },
  {
    path: '/change-password',   // 修改密码页面路径
    name: 'ChangePassword',     // 路由名称
    component: ()=>import('../views/ChangePassword.vue') // 导入修改密码组件
  },
  {
    path: '/home',          // 角色选择路径
    name: 'homePage',       // 路由名称
    component: ()=>import('../views/HomePage.vue') // 导入需要跳转的组件
  },
  {
    path: '/detection',          // 路径
    name: 'detection',       // 路由名称（可选）
    component: ()=>import('../views/Detection.vue')
  },
  {
    path: '/RecognitionResults',  // 动态路由参数（如 /user/123）
    name: 'RecognitionResults',
    component: ()=>import('../views/RecognitionResults.vue')
  },
  {
    path: '/gallery',  // 图鉴页面路由
    name: 'Gallery',
    component: ()=>import('../views/GalleryPage.vue')
  },
  {
    path: '/history',
    name: 'History',
    component: ()=>import('../views/HistoryPage.vue')
  }
];

// 3. 创建路由实例
const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
});

// 添加路由守卫
router.beforeEach((to, from, next) => {
  // 这里可以添加登录验证逻辑
  // 如果用户未登录且访问的不是登录页面和注册页面，则重定向到登录页面
  const isAuthenticated = localStorage.getItem('isAuthenticated');
  if (to.name !== 'LoginPage' && to.name !== 'RegisterPage' && to.name !== 'ChangePassword' && !isAuthenticated) {
    next({ name: 'LoginPage' });
  } else {
    next();
  }
});

export default router;